package com.etc.controller;

import com.etc.common.MyBaseController;
import com.etc.vo.CodeMessage;
import com.etc.vo.StudentVo;
import com.sun.xml.internal.xsom.impl.parser.BaseContentRef;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;

@Controller
public class DianMingController extends MyBaseController {

    /**
     * @RequestParam HashMap map , 正常情况应该放模型
     * @param map
     * @param request
     * @return
     */
    @RequestMapping("dianming.action")
    @ResponseBody
    public CodeMessage dianming(@RequestParam HashMap map, HttpServletRequest request) {
        // 没啥用， 参数上直接放模型就可以的
        StudentVo vo1 = new StudentVo();
        vo1.setToken(map.get("token").toString());
        vo1.setMessage(map.get("message").toString());

        // 获取session对象
        HttpSession session = request.getSession();

        // 获取session中vo===是之前登陆登陆成功的时候放入
        StudentVo sessionvo = (StudentVo) session.getAttribute("loginuser");

        // token验证
        if(!sessionvo.getToken().equals(vo1.getToken())) {
            CodeMessage cm = new CodeMessage();
            cm.setMessage("token不一致");
            cm.setCode("201");
            return cm;
        }


        // 工具类
//        BeanUtils.copyProperties(vo1, sessionvo); // message赋值 把一个对象的属性 放到另一个对象上
        sessionvo.setMessage(vo1.getMessage());

        // 从application作用获取所有的用户信息
        List<StudentVo> stulist = (List<StudentVo>) request.getServletContext().getAttribute("stulist");

        // 遍历所有用户
        for (StudentVo temp : stulist) {
            if (temp.getPhone()!= null)
                if (temp.getPhone().equals(sessionvo.getPhone())) {
                    // 把当期用户的输入信息放入到 集合中 用于testList.action查看
                    temp.setMessage(sessionvo.getMessage());
                }
        }


        return CodeMessage.succes("点到成功");
    }

}

